package day06;

import java.io.File;
import java.io.IOException;
import java.util.Scanner;

/**
 * 要求用户输入一个文件名并使用File在当前目录下创建出来。
 * 若该文件已经存在，则提示用户该文件已经存在。并创建该文件副本：
 * 例如:用户输入"test.txt".若该文件已存在，提示用户存在后，创建名为：test_副本1.txt 的文件
 * 若该文件也存在了，则创建名为:test_副本2.txt 的文件，以此类推
 * @author Bonnie
 *
 */
public class Test02 {
    public static void main(String[] args) throws IOException {
        System.out.println("输入文件名");
        Scanner input = new Scanner(System.in);
        String fname = input.next();
        File file = new File("./Home_Work/src/day06/"+fname);
        if(file.exists()){
            System.out.println("文件已存在");
        }
        String newfname = fname.substring(0, fname.indexOf('.')) + "_副本1" + ".txt";
        cFile(newfname, 2);

//        int n = 1;
//        String[] fns = fname.split("\\.");

//        while(file.exists()){
//            fname = fns[0]+"_副本"+n+"."+fns[1];
//            n++;
//            file = new File("./Home_Work/src/day06/"+fname);
//        }
//        file.createNewFile();
//        input.close();
    }

    public static void cFile(String newname,int n){
        File copyFile = new File("./Home_Work/src/day06/"+newname);
        if(copyFile.exists()){
            String name = newname.substring(0,newname.indexOf(String.valueOf(n-1)))+n+".txt";
            cFile(name,n+1);
        }else {
            try {
                copyFile.createNewFile();
            } catch (IOException e) {
                throw new RuntimeException(e);
            }
        }
    }
}
